package com.zpark.redis;

import redis.clients.jedis.Jedis;

import java.util.List;

/**
 * @PackageName: com.zpark.redis
 * @ClassName: RedisList
 * @Description:
 * @author: RZS
 * @date: 2024/4/1  11:39
 */
public class RedisList {
    public static void main(String[] args) {
        /**
         * list数据类型常用API
         */
        // 获取redis对象
        Jedis jedis = new Jedis();
        // 设置访问密码
        jedis.auth("123456");

        // 添加list元素
        jedis.lpush("lst", "java", "c"); // 从左边开始添加
        // 从右边开始添加
        jedis.rpush("lst", "C++", "PHP", "Python");

        // 获取区间list集合数据
        List<String> lst = jedis.lrange("lst", 0, 20);
        for (String s : lst) {
            System.out.println(s);
        }

        // 获取对应key的长度
        Long len = jedis.llen("lst");
        System.out.println("list集合长度为：" + len);

        // 获取指定索引处的元素
        System.out.println(jedis.lindex("lst", 2));

        // 元素出栈
        String res1 = jedis.lpop("lst"); // 从左边出栈
        // 从右边出栈
        String res2 = jedis.rpop("lst");

        // list元素排序，建议元素类型为数值
        /*List<String> lst1 = jedis.sort("lst");
        System.out.println(lst1);*/

    }
}
